The “Web” is now well developed and literally millions of Web sites have been deployed and hosted on various servers around the world. Web sites comprise one or more related “pages,” in some cases extending to scores or even hundreds of pages. The subject matter of web sites spans the full breadth of human interests and endeavors, and many web pages now include dynamic content as well as multi-media content, such as audio and video clips, slideshows and the like.
More recently, the use of “dynamic” webpages has become commonplace in website design, in part to ease design and publication burdens faced when attempting to build and manage large and feature-rich websites. Dynamic webpages are a type of webpage that produces potentially differing web content and/or interfacing on-the-fly based on one or more variable parameters passed to the webpage by a client browser or otherwise. Examples of dynamic webpages include java server pages or JSPs developed in accordance with the Java Server Pages Specification Version 1.2 (November 2001) and above available from Sun Microsystems of Mountain View, Calif. Another type of dynamic webpage includes active server pages or ASP developed in accordance with the Internet Information Services v 3.0 and above Software Development Kit available from the Microsoft Corporation of Redmond, Wash. Other dynamic webpages could include, by means of example only, Perl pages, PHP pages from the PHP Group, ColdFusion pages from Macromedia, Inc. of San Francisco, Calif., and servlets defined in Sun's Java Servlet Specification 2.1 and above.
Dynamic webpages are so powerful because of the active logic, conditional rules and/or heuristic instructions physically or virtually forming at least a part of each (collectively “code”). In the Java Server Pages example, such code is called a tag. This code is dependent on a variety of parameters passed to it, such as configuration data which is used to assist in defining the interface, fields, and typically, “static” information when the dynamic webpage is requested, rendered, and displayed to an end-user through a web browser or other paging review mechanism. In the automotive website context, a good example of configuration data would include parameters needed to assist or direct the code in rendering a specific auto dealer graphic, as well as parameters needed to cause the executing web server to issue and collect information related to a certain used car search parameter, and the like. This code also causes the web server executing the dynamic webpage to interact with other applications and objects, such as pulling dynamic or runtime data from, e.g., a separately maintained database. Again, in the automotive context, such runtime data can include used car inventory database results based on a query captured by a server executing the dynamic page on behalf of a potential automotive customer in communication with the server via a client-oriented browser.
The web designer community is looking to dynamic webpages as a way to contain the problem of ever growing and increasingly complex websites, while providing richer features and more detailed and varied content. Without dynamic webpages, web designers would have to craft, track and maintain each distinct webpage individually, and interaction with a browser supporting an end-user would be limited at best. Manually managing such an architecture would quickly prove hopelessly complex. A dynamic webpage, on the other hand, through an appropriate code structure, can define numerous distinct rendered pages to the browser depending on e.g. input provided by the end-user which is passed to the dynamic webpage in the form of configuration and/or runtime data. In fact, a small number of thoughtfully constructed dynamic webpages can actually define a complete website, if not multiple websites. As such, a dynamic webpage can therefore be thought of as a template for producing individually rendered webpages known as target webpages, which, from the end-user browser perspective, may appear and function quite distinctly but are in fact the product of the interaction between a common dynamic webpage template with a particular set of configuration and/or runtime data.
However, a new problem emerges when dynamic webpage templating is extensively leveraged. As fewer and fewer dynamic webpage templates are employed to define more and more target webpage alternatives, the resulting template code structure necessarily becomes more and more complex to account for planned site variation, and accordingly, more and more parameters must be passed and interpreted in connection with the template code before a desired target webpage can be rendered. Thus, rendering or executing the complex dynamic webpage template on-the-fly with the particular configuration/runtime data parameters increasingly taxes web server processing resources, and can perceptibly degrade “loading” performance and site responsiveness from an end-user perspective. In fact, independent of bandwidth considerations, it can take a number of seconds for a stressed, multi-site web server to acquire the appropriate configuration and dynamic data, assemble, interpret and render the dynamic webpage, and return the desired target webpage to the requesting end-user. This is so even though certain areas and features of the target webpages, such as the header and footer sections, do not appear to change every time the end-user requests those pages or as the end-user traverses the website. Therefore, it would be advantageous to provide a web management technique that leverages the power of dynamic webpages while increasing web server responsiveness and ultimately speedier delivery of the target webpage to the end-user.